package com.uchengwang.functions.http.listener;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Response;

/**
 * Created by U城网 on 2017/3/2.
 */

public interface IHttpManager {

    enum RequestMethod {
        GET,  //GET  方式
        POST,  //POST 方式
        DELETE, //delete
        PUT     //put

    }

    /**
//     * 异步GET请求
//     *
//     * @param url      URL
//     * @param request  请求参数
//     * @param callBack 请求回调
//     */
//    Call get(String url, IBaseRequest request, HttpCallBack callBack);
//
//
//    /**
//     * 异步POST请求
//     *
//     * @param url      URL
//     * @param request  请求参数
//     * @param callBack 请求回调
//     */
//    Call post(String url, IBaseRequest request, HttpCallBack callBack);
//
//    /**
//     * 同步GET请求
//     *
//     * @param url     URL
//     * @param request 请求参数
//     */
//    Response synGet(String url, IBaseRequest request) throws IOException;
//
//    /**
//     * 同步POST请求
//     *
//     * @param url     URL
//     * @param request 请求参数
//     */
//    Response synPost(String url, IBaseRequest request) throws IOException;
//    /**
//     * 异步GET请求
//     *
//     * @param url      URL
//     * @param request  请求参数
//     * @param callBack 请求回调
//     */
//    Call put(String url, IBaseRequest request, HttpCallBack callBack);
//
//
//    /**
//     * 异步POST请求
//     *
//     * @param url      URL
//     * @param request  请求参数
//     * @param callBack 请求回调
//     */
//    Call delete(String url, IBaseRequest request, HttpCallBack callBack);
//
//    /**
//     * 异步请求
//     *@param method 请求方式
//     * @param url      URL
//     * @param request  请求参数
//     * @param callBack 请求回调
//     */
    Call query(RequestMethod method, String url, IBaseRequest request, HttpCallBack callBack);

    /**
     * 同步请求
     *@param method 请求方式
     * @param url      URL
     * @param request  请求参数
     */
    Response synQuery(RequestMethod method, String url, IBaseRequest request) throws IOException;
}
